#ifndef _GBUFFERRENDERPASS_H_
#define _GBUFFERRENDERPASS_H_
#include <SERender/Renderer/RenderPass/RenderPass.h>
#include <SECore/Manager.h>
#include <SERender/Resourses/Material.h>
#include <SERender/Resourses/FrameBuffer.h>
#include <SEngine/Util/RenderPassGUIHandler.h>

namespace SEngine
{
    class GBufferRenderPass : public RenderPass, public RenderPassGUIHandler
    {
    public:
        GBufferRenderPass(Renderer & renderer);
        virtual void BeginFrame() override;
        virtual void DrawFrame() override;
        virtual void EndFrame() override {}

    private:
        ResRef<Shader> m_gBufferShader;
        std::unique_ptr<FrameBuffer> m_fbo;
    };
} // namespace SEngine


#endif